import {useToast} from "@chakra-ui/react";

/**
 * 处理fetch后的结果
 * @param r api请求完的结果
 * @param toast 用于显示弹窗
 * @param msg 失败时显示的消息, 当r没用msg和error信息时显示
 * @param successMsg 成功时显示的信息
 * @param route 跳转到的路由, 如果没传递route就刷新页面
 */
export const handleResult = (r, toast, msg, successMsg, route) => {
    if (r.code === 0 || r.error) {
        toast({
            title: r.msg || r.error || msg,
            status: 'error',
            position: 'top',
            isClosable: true,
        })
        return
    }
    toast({
        title: successMsg,
        status: 'success',
        position: 'top',
        isClosable: true,
    })
    // location.replace('/' + route)
    route ?
        location.replace('/' + route) :
        location.reload()
}


/**
 * 处理fetch后的结果, 不进行路由跳转
 * @param r api请求完的结果
 * @param toast 用于显示弹窗
 * @param msg 失败时显示的消息, 当r没用msg和error信息时显示
 * @param successMsg 成功时显示的信息
 */
export const handleResultNoRoute = (r, toast, msg, successMsg) => {
    if (r.code === 0 || r.error) {
        toast({
            title: r.msg || r.error || msg,
            status: 'error',
            position: 'top',
            isClosable: true,
        })
        return
    }
    toast({
        title: successMsg,
        status: 'success',
        position: 'top',
        isClosable: true,
    })
}